home *** CD-ROM | disk | FTP | other *** search
/ The CICA Windows Explosion! / The CICA Windows Explosion! - Disc 2.iso / nt / toshpcd.zip / oemsetup.inf < prev    next >
INI File  |  1993-12-09  |  12KB  |  364 lines

  1. ;-----------------------------------------------------------------------
  2. ; SETUP INFORMATION FOR TOSHIBA PHOTO CD CLASS DRIVER
  3. ;-----------------------------------------------------------------------
  4.  
  5. ;------------------------------------------------------------------------
  6.  
  7. [Identification]
  8.     OptionType = SCSI
  9.  
  10. ;------------------------------------------------------------------------
  11.  
  12. [LanguagesSupported]
  13.     ENG
  14.  
  15. ;------------------------------------------------------------------------
  16.  
  17. [Options]
  18.     TOSHPCD   = toshpcd
  19.  
  20. ;------------------------------------------------------------------------
  21.  
  22. [OptionsTextENG]
  23.     TOSHPCD   = "Toshiba Photo CD class driver"
  24.  
  25. ;------------------------------------------------------------------------
  26.  
  27. [ClassDrivers]
  28.     toshpcd   = !SERVICE_KERNEL_DRIVER, "SCSI Class" , !SERVICE_ERROR_NORMAL, "\SCSI Miniport", "%SystemRoot%\System32\IoLogMsg.dll;%SystemRoot%\System32\drivers\toshpcd.sys"   , 7
  29.  
  30. ;------------------------------------------------------------------------
  31.  
  32. [Identify]
  33.     read-syms Identification
  34.  
  35.     set Status     = STATUS_SUCCESSFUL
  36.     set Identifier = $(OptionType)
  37.     set Media      = #("Source Media Descriptions", 1, 1)
  38.  
  39.     Return $(Status) $(Identifier) $(Media)
  40.  
  41. ;------------------------------------------------------------------------
  42.  
  43. [ReturnOptions]
  44.     set Status        = STATUS_FAILED
  45.     set OptionList     = {}
  46.     set OptionTextList = {}
  47.  
  48.     set LanguageList = ^(LanguagesSupported, 1)
  49.  
  50.     Ifcontains(i) $($0) in $(LanguageList)
  51.         goto returnoptions
  52.     else
  53.         set Status = STATUS_NOLANGUAGE
  54.         goto finish_ReturnOptions
  55.     endif
  56.  
  57. returnoptions = +
  58.     set OptionList     = ^(Options, 0)
  59.     set OptionTextList = ^(OptionsText$($0), 1)
  60.     set Status         = STATUS_SUCCESSFUL
  61.  
  62. finish_ReturnOptions = +
  63.     Return $(Status) $(OptionList) $(OptionTextList)
  64.  
  65. ;------------------------------------------------------------------------
  66.  
  67. [InstallOption]
  68.  
  69.     set Status   = STATUS_FAILED
  70.     set DrivesToFree = {}
  71.  
  72.     ifstr(i) $($1) == NONE
  73.         set Status = STATUS_SUCCESSFUL
  74.         goto finish_InstallOption
  75.     else-ifstr(i) $($1) == UNKNOWN
  76.         set Status = STATUS_SUCCESSFUL
  77.         goto finish_InstallOption
  78.     endif
  79.  
  80.     set Option   = $($1)
  81.     set SrcDir   = $($2)
  82.     set AddCopy  = $($3)
  83.     set DoCopy   = $($4)
  84.     set DoConfig = $($5)
  85.  
  86.     set LanguageList = ^(LanguagesSupported, 1)
  87.  
  88.     Ifcontains(i) $($0) in $(LanguageList)
  89.     else
  90.         set Status = STATUS_NOLANGUAGE
  91.         goto finish_InstallOption
  92.     endif
  93.     read-syms Strings$($0)
  94.  
  95.     set OptionList = ^(Options, 0)
  96.  
  97.     ifcontains $(Option) in $(OptionList)
  98.     else
  99.         goto finish_InstallOption
  100.     endif
  101.     set OptionList = ""
  102.  
  103.     set ClassDriver      =   #(Options,      $(Option),      1)
  104.     set Type             = $(#(ClassDrivers, $(ClassDriver), 1))
  105.     set Group            =   #(ClassDrivers, $(ClassDriver), 2)
  106.     set ErrorControl     = $(#(ClassDrivers, $(ClassDriver), 3))
  107.     set Dependencies     =   #(ClassDrivers, $(ClassDriver), 4)
  108.     set EventMessageFile =   #(ClassDrivers, $(ClassDriver), 5)
  109.     set TypesSupported   =   #(ClassDrivers, $(ClassDriver), 6)
  110.  
  111. installtheoption = +
  112.  
  113.     ifstr(i) $(AddCopy) == "YES"
  114.         set DoActualCopy = NO
  115.         set FileToCheck = #(Files-PhotoClassDrivers, $(ClassDriver), 2)
  116.         LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(!STF_WINDOWSSYSPATH)"\drivers\"$(FileToCheck)
  117.         ifstr(i) $(STATUS) == NO
  118.             set DoActualCopy = YES
  119.         endif
  120.  
  121.         ifstr(i) $(DoActualCopy) == NO
  122.             shell "subroutn.inf" DriversExist $($0) $(String1)
  123.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  124.                 Debug-Output "CLASS.INF: shelling DriversExist failed"
  125.                 goto finish_InstallOption
  126.             endif
  127.  
  128.             ifstr(i) $($R0) == STATUS_CURRENT
  129.             else-ifstr(i) $($R0) == STATUS_NEW
  130.                 set DoActualCopy = YES
  131.             else-ifstr(i) $($R0) == STATUS_USERCANCEL
  132.                 Debug-Output "CLASS.INF: User cancelled Tape installation"
  133.                 goto finish_InstallOption
  134.             else
  135.                 Debug-Output "CLASS.INF: Error reported in DriversExist routine in SUBROUTN.INF"
  136.                 goto finish_InstallOption
  137.             endif
  138.         endif
  139.  
  140.         ifstr(i) $(DoActualCopy) == YES
  141.  
  142.             shell "subroutn.inf" DoAskSourceEx $(SrcDir) $(String2)
  143.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  144.                 Debug-Output "CLASS.INF: shelling DoAskSource failed"
  145.                 goto finish_InstallOption
  146.             endif
  147.  
  148.             ifstr(i) $($R0) == STATUS_SUCCESSFUL
  149.                 set SrcDir = $($R1)
  150.                 ifstr(i) $($R2) != ""
  151.                     set DrivesToFree = >($(DrivesToFree), $($R2))
  152.                 endif
  153.             else
  154.                 Debug-Output "CLASS.INF: User cancelled asking source."
  155.                 goto finish_InstallOption
  156.             endif
  157.  
  158.             install Install-AddCopyOption
  159.             ifstr(i) $(STF_INSTALL_OUTCOME) != "STF_SUCCESS"
  160.                 Debug-Output "Adding files to copy list failed"
  161.                 goto finish_InstallOption
  162.             endif
  163.         else
  164.             set DoCopy = NO
  165.         endif
  166.  
  167.     endif
  168.  
  169.     ifstr(i) $(DoCopy) == "YES"
  170.         read-syms ProgressCopy$($0)
  171.         install Install-DoCopyOption
  172.         ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_FAILURE"
  173.             Debug-Output "Copying files failed"
  174.             goto finish_InstallOption
  175.         else-ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_USERQUIT"
  176.             set Status = STATUS_USERCANCEL
  177.             goto finish_InstallOption
  178.         endif
  179.     endif
  180.  
  181.     ifstr(i) $(DoConfig) == "YES"
  182.  
  183.         shell "registry.inf" CheckSetupModify
  184.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  185.             goto finish_InstallOption
  186.         endif
  187.  
  188.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  189.             goto finish_InstallOption
  190.         endif
  191.  
  192.         set ServiceNode      = $(ClassDriver)
  193.         set ServiceBinary = %SystemRoot%\System32\drivers\#(Files-PhotoClassDrivers, $(ClassDriver), 2)
  194.  
  195.         set ServicesValues   = { +
  196.                 {Type,           0, $(!REG_VT_DWORD),     $(Type)                  }, +
  197.                 {Start,          0, $(!REG_VT_DWORD),     $(!SERVICE_AUTO_START) }, +
  198.                 {Group,          0, $(!REG_VT_SZ),        $(Group)                 }, +
  199.                 {ErrorControl,   0, $(!REG_VT_DWORD),     $(ErrorControl)          }, +
  200.                 {Dependencies,   0, $(!REG_VT_MULTI_SZ),  {$(Dependencies)}        }, +
  201.                 {BinaryPathName, 0, $(!REG_VT_EXPAND_SZ), $(ServiceBinary)         }  +
  202.                 }
  203.  
  204.         set ParametersValues = ""
  205.         set DeviceValues     = {}
  206.         set EventLogValues   = { +
  207.                 {EventMessageFile, 0, $(!REG_VT_EXPAND_SZ), $(EventMessageFile) }, +
  208.                 {TypesSupported,   0, $(!REG_VT_DWORD),     $(TypesSupported)   }  +
  209.                 }
  210.  
  211.  
  212.         shell "registry.inf"  MakeServicesEntry $(ServiceNode)      +
  213.                                                 $(ServicesValues)   +
  214.                                                 $(ParametersValues) +
  215.                                                 $(DeviceValues)     +
  216.                                                 $(EventLogValues)   +
  217.                                                 Parameters
  218.  
  219.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  220.             Debug-Output "Couldn't execute MakeServicesEntry in registry.inf"
  221.             goto finish_InstallOption
  222.         endif
  223.  
  224.         ifstr(i) $($R0) != STATUS_SUCCESSFUL
  225.             Debug-Output "MakeServicesEntry failed for class driver"
  226.             goto finish_InstallOption
  227.         endif
  228.  
  229.     endif
  230.  
  231.     set Status = STATUS_SUCCESSFUL
  232. finish_InstallOption = +
  233.     ForListDo $(DrivesToFree)
  234.         LibraryProcedure STATUS,$(!LIBHANDLE), DeleteNetConnection $($) "TRUE"
  235.     EndForListDo
  236.  
  237.     Return $(Status)
  238.  
  239. ;------------------------------------------------------------------------
  240.  
  241. [Install-AddCopyOption]
  242.  
  243.     AddSectionKeyFileToCopyList   Files-PhotoClassDrivers         +
  244.                                   $(ClassDriver)                 +
  245.                                   $(SrcDir)                      +
  246.                                   $(!STF_WINDOWSSYSPATH)\drivers
  247.  
  248.     exit
  249.  
  250. ;------------------------------------------------------------------------
  251.  
  252. [Install-DoCopyOption]
  253.  
  254.     CopyFilesInCopyList
  255.     exit
  256.  
  257. ;-------------------------------------------------------------------------
  258.  
  259. [DeInstallOption]
  260.  
  261.     set Status   = STATUS_FAILED
  262.  
  263.     set Option   = $($1)
  264.     set LanguageList = ^(LanguagesSupported, 1)
  265.  
  266.     Ifcontains(i) $($0) in $(LanguageList)
  267.     else
  268.         set Status = STATUS_NOLANGUAGE
  269.         goto finish_DeInstallOption
  270.     endif
  271.     read-syms Strings$($0)
  272.  
  273.     set OptionList = ^(Options, 0)
  274.  
  275.     ifcontains $(Option) in $(OptionList)
  276.     else
  277.         goto finish_DeInstallOption
  278.     endif
  279.     set OptionList = ""
  280.  
  281.     set ClassDriver = #(Options, $(Option), 1)
  282.     set ClassFile   = #(Files-PhotoClassDrivers, $(ClassDriver), 2)
  283.     set FilePath       = $(!STF_WINDOWSSYSPATH)"\drivers\"$(ClassFile)
  284.  
  285.     shell "registry.inf" RemoveServicesEntry $(ClassDriver)
  286.  
  287.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  288.         Debug-Output "CLASS.INF: Failed to shell RemoveServicesEntry"
  289.         goto finish_DeInstallOption
  290.     endif
  291.  
  292.     ifstr(i) $($R0) != STATUS_SUCCESSFUL
  293.         Debug-Output "CLASS.INF: Failed to disable services entry"
  294.         goto finish_DeInstallOption
  295.     endif
  296.  
  297.     set Status = STATUS_SUCCESSFUL
  298.  
  299. finish_DeInstallOption =+
  300.     return $(Status)
  301.  
  302. ;-------------------------------------------------------------------------
  303.  
  304. [GetInstalledOptions]
  305.     set Status = STATUS_FAILED
  306.     set InstalledOptions = {}
  307.     set InstalledOptionsText = {}
  308.  
  309.     set LanguageList = ^(LanguagesSupported, 1)
  310.  
  311.     Ifcontains(i) $($0) in $(LanguageList)
  312.     else
  313.         set Status = STATUS_NOLANGUAGE
  314.         goto finish_GetInstalledOptions
  315.     endif
  316.  
  317.     set OptionList = ^(Options, 0)
  318.  
  319.     ForListDo $(OptionList)
  320.         set ClassDriver = #(Options, $($), 1)
  321.         set ClassFile   = #(Files-PhotoClassDrivers, $(ClassDriver), 2)
  322.         set FilePath       = $(!STF_WINDOWSSYSPATH)"\drivers\"$(ClassFile)
  323.         LibraryProcedure STATUS,$(!LIBHANDLE),CheckFileExistance $(FilePath)
  324.         ifstr(i) $(STATUS) == "YES"
  325.             shell "registry.inf" GetServicesEntryStart $(ClassDriver)
  326.             ifint $($ShellCode) == $(!SHELL_CODE_OK)
  327.                 ifstr(i) $($R0) == STATUS_SUCCESSFUL
  328.                     ifstr(i) $($R1) != $(!SERVICE_DISABLED)
  329.                         set OptionText = #(OptionsText$($0), $($), 1)
  330.                         set InstalledOptions     = >($(InstalledOptions), $($))
  331.                         set InstalledOptionsText = >($(InstalledOptionsText), $(OptionText))
  332.                     endif
  333.                 endif
  334.             endif
  335.         endif
  336.     EndForListDo
  337.     set Status = STATUS_SUCCESSFUL
  338. finish_GetInstalledOptions =+
  339.     Return $(Status) $(InstalledOptions) $(InstalledOptionsText)
  340.  
  341. ;**************************************************************************
  342. ; PROGRESS GUAGE VARIABLES
  343. ;**************************************************************************
  344.  
  345. [ProgressCopyENG]
  346.     ProCaption   = "Windows NT Setup"
  347.     ProCancel    = "Cancel"
  348.     ProCancelMsg = "Windows NT is not correcly installed.  Are you sure you want "+
  349.                    "to cancel copying files?"
  350.     ProCancelCap = "Setup Message"
  351.     ProText1     = "Copying:"
  352.     ProText2     = "To:"
  353.  
  354. [StringsENG]
  355.     String1 = "Toshiba Photo CD class driver"
  356.     String2 = "Please enter the full path to the Photo CD class driver "+
  357.               "files.  Then choose Continue."
  358.  
  359. [Source Media Descriptions]
  360.     1  = "Toshiba Photo CD class driver"  , TAGFILE = disk1
  361.  
  362. [Files-PhotoClassDrivers]
  363. toshpcd = 1,toshpcd.sys , SIZE=32768
  364.